package com.yin.unsafe;

import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;

public class MapTest {
    //
    public static void main(String[] args) {
        // Map 是这样用的吗？
        // 工作中不用这个
        // 默认等价于什么？
        // new HashMap<>(0.75,16);
        Map<String, Object> map = new ConcurrentHashMap<>();
        /* ConcurrentModificationException
        解决办法
        Map<String, Object> map = Collections.synchronizedMap(new HashMap<>());
        Map<String, Object> map = new ConcurrentHashMap<>();
         */
        // 加载因子、初始化容量

        //ConcurrentModificationException
        for (int i = 1; i < 31; i++) {
            new Thread(() -> {
                map.put(Thread.currentThread().getName(), UUID.randomUUID().toString().substring(0, 5));
                System.out.println(map);
            }, String.valueOf(i)).start();
        }
    }
}
